# 参考资料：
# 机器学习进阶-阈值与平滑-图像阈值 1. cv2.threshold(进行阈值计算) 2. 参数type cv2.THRESH_BINARY(表示进行二值化阈值计算)
# https://www.cnblogs.com/my-love-is-python/p/10391615.html
import cv2
import matplotlib.pyplot as plt

img = cv2.imread('dog.jpg')

# 1.进行阈值二值化操作，大于阈值127的，使用255表示，小于阈值127的，使用0表示
ret, thresh1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)

# 2.进行阈值二值化翻转操作，大于阈值127的，使用0表示，小于阈值127的，使用255表示
ret, thresh2 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY_INV)

# 3. 进行截断阈值表示，大于阈值127的使用

images = [img, thresh1, thresh2]
titles = ['ORIGINAL', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV']

for i in range(3):
    plt.subplot(2, 3, i + 1)
    plt.imshow(images[i])
    plt.title(titles[i])
plt.show()